A programmable integrated circuit (IC) refers to a type of IC that includes programmable circuitry. An example of a programmable IC is a field programmable gate array (FPGA). An FPGA is characterized by the inclusion of programmable circuit blocks. Examples of programmable circuit blocks include, but are not limited to, input/output blocks (IOBs), configurable logic blocks (CLBs), dedicated random access memory blocks (BRAM), multipliers, digital signal processing blocks (DSPs), processors, clock managers, and delay lock loops (DLLs). Circuit designs may be physically implemented within the programmable circuitry of a programmable IC by loading a configuration bitstream into configuration memory of the programmable IC.
Partial reconfiguration is a process where a region of programmable circuitry within the programmable IC referred to as a “partial reconfiguration region” or “PR region” may be dynamically reconfigured by loading a partial configuration bitstream into the programmable IC. The partial configuration bitstream may specify different circuitry than previously implemented in the PR region. The partial configuration bitstream does not specify new and/or different circuitry for portions of programmable circuitry outside of the PR region. The PR region may undergo modification through partial reconfiguration, e.g., the loading of a partial configuration bitstream for the PR region, repeatedly where different partial configuration bitstreams specify different circuitry (or applications), while the other regions of the programmable circuitry of the programmable IC referred to as “static circuitry” or a “static region” continues to operate without interruption.
When using a circuit design with a PR region, various characteristics of the PR region remain constant. While the circuitry within a PR region may change over time using partial reconfiguration technology, the boundaries of the PR region may not be changed. As such, certain characteristics such as the size of the PR region, the shape of the PR region, the connectivity of the PR region with other circuitry, and the number of PR regions remains unchanged within the programmable IC.